CentOS8 安装配置使用 pdsh 并行分布式shell

您所在的位置:网站首页 centos8 安装配置 CentOS8 安装配置使用 pdsh 并行分布式shell

CentOS8 安装配置使用 pdsh 并行分布式shell

2023-09-22 04:11| 来源: 网络整理| 查看: 265

pdsh

parallel distributed shell 可以在多台服务器上一起执行命令

pdsh使用前要先配置ssh免密,CentOS8 设置无密码SSH,SSH免密

下载地址 https://sourceforge.net/projects/pdsh/

安装 [root@dev10 opt]# tar -jxvf pdsh-2.26.tar.bz2 [root@dev10 opt]# cd pdsh-2.26 [root@dev10 pdsh-2.26]# ./configure \ --without-rsh \ --with-ssh \ --with-machines=/etc/pdsh/machines \ --with-dshgroups \ --with-netgroup \ --with-timeout=10

有哪些配置请参考pdsh-2.26/README文件。 [root@dev10 pdsh-2.26]# make && make install

[root@dev10 pdsh-2.26]# pdsh -V pdsh-2.26 rcmd modules: ssh,exec (default: ssh) misc modules: machines

相关文件

mkdir /etc/pdsh

vi /etc/pdsh/machines (pdsh要一起操作的机器名) dev10 dev11 dev12 dev13

/usr/local/bin/pdsh /usr/local/lib/pdsh

pdsh 样例

[root@dev10 pdsh-2.26]# pdsh -a date dev10: 2020年 05月 16日 星期六 13:52:18 CST dev12: 2020年 05月 16日 星期六 13:52:18 CST dev11: 2020年 05月 16日 星期六 13:52:18 CST dev13: 2020年 05月 16日 星期六 13:52:18 CST

pdsh命令窗口,执行多条命令

[root@dev10 ~]# pdsh -apdsh> pwd dev10: /root dev11: /root dev12: /root dev13: /root pdsh> exit

一次执行多条命令,包括cd

[root@dev10 pdsh-2.26]# pdsh -a "cd /opt; tar -zxvf jdk-8u192-linux-x64.tar.gz"

在范围内执行

[root@dev10 ~]# pdsh -w dev11,dev12,dev13 hostname dev11: dev11 dev13: dev13 dev12: dev12

[root@dev10 ~]# pdsh -w dev[11-12,13] hostname dev11: dev11 dev12: dev12 dev13: dev13

[root@dev10 ~]# pdsh -w ssh:root@dev[11-13] hostname dev13: dev13 dev11: dev11 dev12: dev12

复制文件

[root@dev10 ~]# pdcp -w ssh:root@dev[11,12-13] /opt/testFile.txt /opt [root@dev10 ~]# pdsh -a ls -lrt /opt | grep testFile dev10: -rw-r--r--.  1 root root         0 5月  17 10:16 testFile.txt dev12: -rw-r--r--.  1 root root         0 5月  17 10:18 testFile.txt dev13: -rw-r--r--.  1 root root         0 5月  17 10:18 testFile.txt dev11: -rw-r--r--.  1 root root         0 5月  17 10:18 testFile.txt

复制目录

[root@dev10 ~]# pdcp -r -w ssh:root@dev[11,12-13] /opt/testDir /opt [root@dev10 ~]# pdsh -a ls -lrt /opt | grep testDir dev13: drwxr-xr-x.  2 root root        24 5月  17 10:21 testDir dev10: drwxr-xr-x.  2 root root        24 5月  17 10:17 testDir dev12: drwxr-xr-x.  2 root root        24 5月  17 10:21 testDir dev11: drwxr-xr-x.  2 root root        24 5月  17 10:21 testDir

环境变量的问题

使用pdsh,在/etc/profile下配的环境变量无效,

[root@dev10 ~]# pdsh -a "java -version" dev13: bash: java: command not found pdsh@dev10: dev13: ssh exited with exit code 127 dev10: bash: java: command not found pdsh@dev10: dev10: ssh exited with exit code 127 dev11: bash: java: command not found pdsh@dev10: dev11: ssh exited with exit code 127 dev12: bash: java: command not found pdsh@dev10: dev12: ssh exited with exit code 127

[root@dev10 ~]# pdsh -a "source /etc/profile;java -version" dev11: java version "1.8.0_192" dev11: Java(TM) SE Runtime Environment (build 1.8.0_192-b12) dev11: Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode) dev10: java version "1.8.0_192" dev10: Java(TM) SE Runtime Environment (build 1.8.0_192-b12) dev10: Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode) dev13: java version "1.8.0_192" dev13: Java(TM) SE Runtime Environment (build 1.8.0_192-b12) dev13: Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode) dev12: java version "1.8.0_192" dev12: Java(TM) SE Runtime Environment (build 1.8.0_192-b12) dev12: Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode)

可以在/etc/bashrc下把/etc/profile配的内容再配一遍,就可以了,

[root@dev10 ~]# pdsh -a "java -version" dev12: java version "1.8.0_192" dev12: Java(TM) SE Runtime Environment (build 1.8.0_192-b12) dev12: Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode) dev10: java version "1.8.0_192" dev10: Java(TM) SE Runtime Environment (build 1.8.0_192-b12) dev10: Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode) dev11: java version "1.8.0_192" dev11: Java(TM) SE Runtime Environment (build 1.8.0_192-b12) dev11: Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode) dev13: java version "1.8.0_192" dev13: Java(TM) SE Runtime Environment (build 1.8.0_192-b12) dev13: Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode)

命令帮助

[root@dev10 ~]# pdsh -h Usage: pdsh [-options] command ... -S                return largest of remote command return values -h                output usage menu and quit -V                output version information and quit -q                list the option settings and quit -b                disable ^C status feature (batch mode) -d                enable extra debug information from ^C status -l user           execute remote commands as user -t seconds        set connect timeout (default is 10 sec) -u seconds        set command timeout (no default) -f n              use fanout of n nodes-w host,host,...  set target node list on command line -x host,host,...  set node exclusion list on command line -R name           set rcmd module to name -M name,...       select one or more misc modules to initialize first -N                disable hostname: labels on output lines -L                list info on all loaded modules and exit -g groupname      target hosts in dsh group "groupname" -X groupname      exclude hosts in dsh group "groupname"-a                target all nodes available rcmd modules: ssh,exec (default: ssh)

报错处理

[root@dev13 pdsh-2.26]# pdsh -a hostname dev13: ssh_askpass: exec(/usr/libexec/openssh/ssh-askpass): No such file or directory dev13: Host key verification failed. pdsh@dev13: dev13: ssh exited with exit code 255 dev12: ssh_askpass: exec(/usr/libexec/openssh/ssh-askpass): No such file or directory dev12: Host key verification failed. pdsh@dev13: dev12: ssh exited with exit code 255 dev11: ssh_askpass: exec(/usr/libexec/openssh/ssh-askpass): No such file or directory dev11: Host key verification failed. pdsh@dev13: dev11: ssh exited with exit code 255

把SSH免密配上就好了

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3